# 小球从100m的高度自由落下，每次落地后反弹回原高度的一半，再落下。定义函数cal计算小球第n次落地时，共经过多少以及第n次反弹多高。
# 定义全局变量Sn和Hn分别存储小球经过的路程和第n次的高度。主函数输入n的值，并调用cal函数计算输出Sn和Hn的值。
h = 100
Sn = 0
Hn = 100


def cal(n):
    s = 0
    global Sn
    global Hn
    for i in range(n):
        Sn += Hn
        Hn *= 1/2
        Sn += Hn
    return Sn, Hn


n = int(input("请输入小球反弹的次数："))
x = cal(n)
print(f"Sn = {x[0]}, Hn = {x[1]}")

